sed
, metin işleme için güçlü bir komut satırı aracıdır. Temelde bir akış düzenleyicisi olarak çalışır ve bir dosyayı veya girdiyi satır satır okuyarak belirtilen işlemleri uygular ve sonucu standart çıktıya yazar. sed
ile metin arama, değiştirme, silme, ekleme ve daha pek çok işlem yapılabilir. sed
'in sözdizimi genellikle şöyledir:
sed 'komut' dosyaadı
Burada komut
, sed
'in uygulayacağı işlemi belirtir. En yaygın sed
komutlarından bazıları şunlardır:
s/eski/yeni/g
: Bu, değiştirme komutudur. Her satırda eski
metnini yeni
metniyle değiştirir. g
bayrağı, bir satırdaki tüm eşleşmeleri değiştirir (aksi takdirde sadece ilk eşleşme değiştirilir).d
: Bu, silme komutudur. Belirtilen satırları siler. Örneğin, sed '2d' dosya.txt
ikinci satırı siler.p
: Bu, yazdırma komutudur. Belirtilen satırları yazdırır. Genellikle -n
(otomatik yazdırmayı kapat) seçeneğiyle birlikte kullanılır.i
: Bu, ekleme komutudur. Belirtilen satırın öncesine metin ekler.a
: Bu, sona ekleme komutudur. Belirtilen satırın sonrasına metin ekler.sed
komutları, normal ifadeler (regular expressions) ile birlikte kullanılabilir, bu da metin işleme yeteneklerini büyük ölçüde artırır. Örneğin:
sed 's/[0-9]+/NUMARA/g' dosya.txt
Bu komut, dosyadaki tüm sayı dizilerini "NUMARA" ile değiştirir.
sed
'in bir diğer önemli özelliği de yerinde düzenleme yapabilmesidir. Bu, -i
seçeneği ile sağlanır. Örneğin:
sed -i 's/eski/yeni/g' dosya.txt
Bu komut, dosya.txt
dosyasını doğrudan değiştirir (orijinal dosyanın üzerine yazar). Dikkatli kullanılmalıdır, zira geri dönüşü yoktur. Genellikle -i.yedek
şeklinde kullanılarak orijinal dosyanın bir yedeği alınır.
sed
, komut dosyaları (script) ile de kullanılabilir. Birden fazla komutu içeren bir dosyayı sed
'e argüman olarak vererek daha karmaşık metin işleme işlemleri gerçekleştirilebilir.
Sonuç olarak, sed
, metin analizi, veri dönüştürme ve otomasyon görevleri için vazgeçilmez bir araçtır.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page